/*
[从零开始的C语言基础]0.7代码模板]
作者：Ender
最后修改时间：2025/02/07
说明：这一版的sayHello已经完成了0.7-1的内容，可以直接用于0.7-2的学习
Gitee仓库链接：https://gitee.com/ye-sanke/c_-languages_-basis
*/

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <windows.h>

int main() {
    // 设置控制台编码为 UTF-8
    SetConsoleOutputCP(65001);
    SetConsoleCP(65001);

    // 设置本地化以支持中文
    setlocale(LC_ALL, "zh_CN.UTF-8");

    // 输出 UTF-8 BOM，确保终端识别 UTF-8
    printf("\xEF\xBB\xBF");

    // 提示用户输入名字
    printf("你好！你的名字是？（请输入你的名字并回车）\n");

    // 定义一个数组存储用户输入的名字
    char name[100];

    // 获取用户输入，使用 fgets 避免缓冲区溢出
    if (fgets(name, sizeof(name), stdin) != NULL) {
        // 去除换行符
        size_t len = strlen(name);
        if (len > 0 && name[len - 1] == '\n') {
            name[len - 1] = '\0';
        }

        // 输出问候语
        printf("你好，%s!\n", name);
    } else {
        printf("输入错误，请重试。\n");
    }
    //system("pause");
    return 0;
}
